<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
	<th:block th:include="common/include :: header('养修预约记录列表')" />
</head>
<body class="gray-bg">
	<div class="container-div">
		<div class="row">
			<div class="col-sm-12 search-collapse">
				<form id="post-form">
					<div class="select-list">
						<ul>
							<li>
								客户姓名：<input type="text" name="name"/>
							</li>
							<li>
								联系方式：<input type="text" name="customerPhone"/>
							</li>
							<li>
								状态：
								<select name="status" th:with="type=${@dict.getType('cmi_status')}">
									<option value="">所有</option>
									<option th:each="dict : ${type}" th:text="${dict.label}" th:value="${dict.value}"></option>
								</select>
							</li>
							<li>
								<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
							    <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
							</li>
						</ul>
					</div>
				</form>
			</div>
			
			<div class="btn-group-sm" id="toolbar" role="group">
				<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="business:appointment:add">
	                <i class="fa fa-plus"></i> 添加
	            </a>
	        </div>


	        <div class="col-sm-12 select-table table-striped">
			    <table id="bootstrap-table"></table>
			</div>
		</div>
	</div>
	<th:block th:include="common/include :: footer" />


	<script th:inline="javascript">
		var editFlag = [[${@permission.hasPermi('business:appointment:edit')}]];
		var arrivalFlag = [[${@permission.hasPermi('business:appointment:arrival')}]];
		var removeFlag = [[${@permission.hasPermi('business:appointment:remove')}]];
		var cancelFlag = [[${@permission.hasPermi('business:appointment:cancel')}]];
		var generateStatementFlag = [[${@permission.hasPermi('business:appointment:generateStatement')}]];
		var serviceTypeDatas = [[${@dict.getType('cmi_service_type')}]];
		//服务类型数据字典的值
		var statusDatas = [[${@dict.getType('cmi_status')}]];
		//状态的值
		var prefix = ctx + "/business/appointment";


		$(function() {
			var options = {
				url: prefix + "/query",
				createUrl: prefix + "/addPage",
				updateUrl: prefix + "/editPage?id={id}",
				removeUrl: prefix + "/remove",
				uniqueId:'id',
				modalName: "养修信息预约",
				columns: [{
					checkbox: true
				},
					{
						field: 'id',
						title: '',
						visible: false
					},
					{
						field: 'customerName',
						title: '客户姓名'
					},
					{
						field: 'customerPhone',
						title: '联系方式'
					},
					{
						field: 'appointmentTime',
						title: '预约时间'
					},
					{
						field: 'actualArrivalTime',
						title: '实际到店时间'
					},
					{
						field: 'licensePlate',
						title: '车牌号码'
					},
					{
						field: 'carSeries',
						title: '汽车类型'
					},
					{
						field: 'serviceType',
						title: '服务类型',
						formatter: function(value, row, index) {
							return $.table.selectDictLabel(serviceTypeDatas, value);
						}
					},
					{
						field: 'info',
						title: '备注信息'
					},
					{
						field: 'status',
						title: '状态',
						formatter: function(value, row, index) {
							return $.table.selectDictLabel(statusDatas, value);
						}
					},
					{
						title: '操作',
						align: 'center',
						formatter: function(value, row, index) {
							//把全局变量赋值给局部变量，使用局部变量进行相关操作
							var editFlagTemp = editFlag;
							var cancelBtnFlag = cancelFlag;
							var arrivalBtnFlag = arrivalFlag;
							var generateStatementBtnFlag = generateStatementFlag;
							var removeBtnFlag = removeFlag;

							var actions = [];

							if(row.status > 0){
								editFlagTemp += " disabled";
								arrivalBtnFlag += " disabled";
								cancelBtnFlag += " disabled";
								removeBtnFlag += " disabled";

							}

							//只有是已到店和结算单生成状态才可点击结算单按钮
							//例如如果是已到店或已结算状态，就不需要加disabled属性
							/*if(!(row.status == 1 || row.status == 4)){
								generateStatementBtnFlag += " disabled";
							}*/

							generateStatementBtnFlag += ((row.status==1 || row.status==4) ? "" : "disabled");

							actions.push('<a class="btn btn-success btn-xs ' + editFlagTemp + '" href="javascript:void(0)" ' +
									'onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
							actions.push('<a class="btn btn-info btn-xs ' + arrivalBtnFlag + '" href="javascript:void(0)" ' +
									'onclick="arrivalHandle(\'' + row.id + '\')"><i class="fa fa-edit"></i>到店</a> ');
							actions.push('<a class="btn btn-danger btn-xs ' + generateStatementBtnFlag + '" href="javascript:void(0)" ' +
									'onclick="generateStatement(\'' + row.id + '\')"><i class="fa fa-edit"></i>结算单</a> ');

							var more = [];
							more.push("<a class='btn btn-default btn-xs "+cancelBtnFlag+"' href='javascript:void(0)' onclick='cancelHandler(" + row.id + ")'><i class='fa fa-reply'></i>取消</a> ");
							more.push("<a class='btn btn-default btn-xs "+removeBtnFlag+"' href='javascript:void(0)' onclick='removeHandler(" + row.id + ")'><i class='fa fa-remove'></i>删除</a>");

							actions.push('<a tabindex="0" class="btn btn-info btn-xs" role="button" data-container="body" data-placement="left" data-toggle="popover" data-html="true" data-trigger="hover" data-content="' + more.join('') + '"><i class="fa fa-chevron-circle-right"></i>更多操作</a>');

							return actions.join('');
						}
					}]
			};
			// 用于初始化整个table列表
			$.table.init(options);
		});

		function cancelHandler(id) {
			$.modal.confirm("确定要取消养修预约吗?", function() {
				$.operate.submit(prefix + "/cancel?id="+id, "get");
			});
		}

		function removeHandler(id) {
			$.modal.confirm("确定要删除养修预约单吗？", function() {
				$.operate.submit(prefix + "/softRemove?id="+id, "get");
			});
		}

		function arrivalHandle(id) {
			$.modal.confirm("确定要将客户修改为到店状态吗？",function () {
				$.operate.submit(prefix + "/arrival?id=" + id,"get");
			})
		}

		function generateStatement(id){
			var row = $("#bootstrap-table").bootstrapTable("getRowByUniqueId",id);
			console.log(row);
			var msg = "确认生成结算单吗?";
			if(row.status==4){
				msg = "是否需要查看对应的结算单明细";
			}
			$.modal.confirm(msg, function() {
				$.operate.post(prefix + "/generateStatement",{appointmentId:id},function(result){
					if(result.code==web_status.SUCCESS){
						var url = ctx + "business/statementItem/itemDetail?statementId=" + result.data;
						$.modal.openTab("结算单明细", url);
					}
				});
			});
		}

	</script>
</body>
</html>